1. Field of the Invention
This invention relates to the field of modelling the behaviour of devices. More particularly, this invention relates to modelling device behaviour using a first model, a second model and stored valid behaviour acting in combination.
2. Description of the Prior Art
There is an increasing need to provide for the modelling of devices. It is often the case that a device will be extensively modelled before any physical realisation of that device is built. This can allow the design of the device to be improved and also allow other devices which will co-operate with the device being modelled to be developed so as to interact with the device being modelled more appropriately. As an example, when developing a new data processing circuit it may be strongly desirable to be able to model characteristics of that data processing circuit before it is actually produced. As an example, modelling the power consumption or timing characteristics of the circuit can allow software that is being produced to execute upon that data processing circuit to be written to operate more quickly and consuming less energy before the physical circuit is available for test. There are also circumstances when modelling is desirable even when a physical device is available for test (e.g. modelling may be more convenient than configuring a physical device).
A problem is that modelling complex devices tends to be computationally intensive and can be disadvantageously slow. High level models such as architectural level models of a data processing circuit or instruction set simulator models of a data processing circuit may execute relatively rapidly, but do not readily yield sufficiently accurate detailed information such as processing cycle count and energy consumption given the complex behaviour of typical data processing circuits. Accordingly, it is known to utilise such high level models in combination with a further more detailed model, such as a processor pipeline model to yield cycle counts, in order to produce more accurate results. However, the lower level models tend to be much slower than the high level models and thus the need to repeatedly call the lower level model greatly slows modelling speed.